The present invention pertains to pre-programmed computer (PC) control of controllable devices having variable settings. In one example, the present invention may be applied to mechanical animation of imitation human or animal figures and can be used in advertising, window displays, trade shows, amusement parks & movie making, providing lifelike movements of limbs and other parts of these figures. The motive force for these movements can be from electric motors, or from hydraulic (or pneumatic) actuators controlled by solenoid valves activated by the control system. A separate reversible motor or actuator (channel of control) can be used for each part of the figure being animated. A script defining the real time movements of each motor is scanned within the PC and data is sent to the motors to control their speeds and directions of rotation.
In another example the present invention may be applied to Computer Numerical Control (CNC) of machine tools and manufacturing processes. By this method, cutting tools, machine elements and materials are moved by stepper motor drives to pre-planned positions according to a prepared file in the PC. Currently, most existing higher quality animation and CNC systems employ closed loop servo-systems. These systems have accurate control of positioning by encoder feedback. However these systems are somewhat complex and since a multi-axis CNC system with associated workell control may need thirty or more axes of movement, cost is a very big factor.
In my prior U.S. Pat. No. 5,784,541 I dislose a method and apparatus for controlling the speed of stepper motors according to the varying frequencies of pulses produced by a stable multi-vibrators. The frequency of the scanning of the script within the PC is also controlled by pulses produced by an a stable multi-vibrator. However pulse frequencies produced in this manner are not very accurate. This inaccuracy causes a less than perfect coordination between motor control pulse frequency and scan frequency. As a result, during the time span of any single scan, it can not be certain that an exact number of complete motor control pulses will be produced. This may result in some incomplete step cycles of the stepper motors, and thus some positioning inaccuracy. In most animation applications this does not present a problem since these slight inaccuracies are not noticeable, and since methods for making corrections for inaccurate positioning are also disclosed in that pending application. But in CNC operation these inaccuracies cannot be tolerated. Additionally in some animation applications it would be an improvement to avoid these inaccuracies and the need to make corrections for them.
In the present invention I disclose a method and apparatus for using frequency dividers that divide one master clock frequency into multiple various frequencies. These frequencies are used for producing: (a) various pulse frequencies to control the speed of stepper motors at different speeds, and (b) a pulse frequency to control the scanning of the script in the PC. This arrangement produces motor speed control pulses that can be synchronized with the frequency of the scanning of the script in the PC. With this arrangement an exact number of complete motor speed control pulses can be assured during the time span of each scan, regardless of motor speed. This eliminates positioning inaccuracies and produces a system ideal for CNC and higher quality animation applications.
Additionally in the present invention I disclose a method and apparatus for selectively using either of two stepper motors, each with a different drive gear ratio, to drive a single axis output, by the use of a two input, single output differential gear system. In CNC operation this enables a high resolution feed drive with one motor activated, or a high speed rapid positioning drive with the other motor activated.
The objective of the present invention is to provide an improved system for PC control of multiple controllable devices (e.g. speed and direction of animation or CNC motors) in accurately controlled repeatable performances (or operations), which is simpler to operate and less expensive than currently available systems.